precision mediump float;

uniform vec2 u_resolution;

float circleSDF(vec2 st, vec2 center, float radius) {
    return length(st - center) - radius;
}

void main() {
    // 将坐标映射到 [0, 1] 范围
    vec2 st = gl_FragCoord.xy / u_resolution;

    // 圆心坐标和半径
    vec2 circleCenter = vec2(0.5, 0.5);
    float circleRadius = 0.2;

    // 计算圆的SDF值
    float sdf = circleSDF(st, circleCenter, circleRadius);

    // 使用SDF值来定义颜色
    vec3 color = vec3(0.0, 0.0, 0.0); // 默认为黑色
    if (sdf < 0.0) {
        color = vec3(1.0, 1.0, 0.0); // 圆的颜色，例如黄色
    }

    // 输出颜色
    gl_FragColor = vec4(color, 1.0);
}
